﻿/*******************************************************************************
 * Copyright (c) 2012 IBM Corporation.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
 *  
 * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
 * and the Eclipse Distribution License is available at
 * http://www.eclipse.org/org/documents/edl-v10.php.
 *
 * Contributors:
 *     Steve Pitschke  - initial API and implementation
 *******************************************************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace OSLC4Net.Core.Model
{
    /// <summary>
    /// General purpose OSLC constants
    /// </summary>
    public static class OslcConstants
    {
        public const string OSLC_CORE_DOMAIN = "http://open-services.net/ns/core#";

        public const string DCTERMS_NAMESPACE        = "http://purl.org/dc/terms/";
        public const string OSLC_CORE_NAMESPACE      = "http://open-services.net/ns/core#";
        public const string OSLC_DATA_NAMESPACE      = "http://open-services.net/ns/servicemanagement/1.0/";
        public const string RDF_NAMESPACE            = "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
        public const string RDFS_NAMESPACE           = "http://www.w3.org/2000/01/rdf-schema#";
        public const string XML_NAMESPACE            = "http://www.w3.org/2001/XMLSchema#";

        public const string DCTERMS_NAMESPACE_PREFIX   = "dcterms";
        public const string OSLC_CORE_NAMESPACE_PREFIX = "oslc";
        public const string OSLC_DATA_NAMESPACE_PREFIX = "oslc_data";
        public const string RDF_NAMESPACE_PREFIX       = "rdf";
        public const string RDFS_NAMESPACE_PREFIX      = "rdfs";

	    public const string OSLC_USAGE_DEFAULT = "http://open-services.net/ns/core#default";

	    public const string TYPE_ALLOWED_VALUES           = OSLC_CORE_NAMESPACE + "AllowedValues";
	    public const string TYPE_COMPACT                  = OSLC_CORE_NAMESPACE + "Compact";
	    public const string TYPE_CREATION_FACTORY         = OSLC_CORE_NAMESPACE + "CreationFactory";
	    public const string TYPE_DIALOG                   = OSLC_CORE_NAMESPACE + "Dialog";
	    public const string TYPE_ERROR                    = OSLC_CORE_NAMESPACE + "Error";
	    public const string TYPE_EXTENDED_ERROR           = OSLC_CORE_NAMESPACE + "ExtendedError";
	    public const string TYPE_O_AUTH_CONFIGURATION     = OSLC_CORE_NAMESPACE + "OAuthConfiguration";
	    public const string TYPE_PREFIX_DEFINITION        = OSLC_CORE_NAMESPACE + "PrefixDefinition";
	    public const string TYPE_PREVIEW                  = OSLC_CORE_NAMESPACE + "Preview";
	    public const string TYPE_PROPERTY                 = OSLC_CORE_NAMESPACE + "Property";
	    public const string TYPE_PUBLISHER                = OSLC_CORE_NAMESPACE + "Publisher";
	    public const string TYPE_QUERY_CAPABILITY         = OSLC_CORE_NAMESPACE + "QueryCapability";
	    public const string TYPE_RESOURCE_SHAPE           = OSLC_CORE_NAMESPACE + "ResourceShape";
	    public const string TYPE_RESPONSE_INFO            = OSLC_CORE_NAMESPACE + "ResponseInfo";
        public const string TYPE_SERVICE                  = OSLC_CORE_NAMESPACE + "Service";
	    public const string TYPE_SERVICE_PROVIDER         = OSLC_CORE_NAMESPACE + "ServiceProvider";
	    public const string TYPE_SERVICE_PROVIDER_CATALOG = OSLC_CORE_NAMESPACE + "ServiceProviderCatalog";

	    public const string PATH_RESOURCE_SHAPES = "resourceShapes";

	    public const string PATH_ALLOWED_VALUES           = "allowedValues";
	    public const string PATH_CREATION_FACTORY         = "creationFactory";
	    public const string PATH_COMPACT                  = "compact";
	    public const string PATH_DIALOG                   = "dialog";
	    public const string PATH_ERROR                    = "error";
	    public const string PATH_EXTENDED_ERROR           = "extendedError";
	    public const string PATH_OAUTH_CONFIGURATION      = "oauthConfiguration";
	    public const string PATH_PREFIX_DEFINITION        = "prefixDefinition";
	    public const string PATH_PREVIEW                  = "preview";
        public const string PATH_PROPERTY                 = "property";
	    public const string PATH_PUBLISHER                = "publisher";
	    public const string PATH_QUERY_CAPABILITY         = "queryCapability";
	    public const string PATH_RESOURCE_SHAPE           = "resourceShape";
	    public const string PATH_SERVICE                  = "service";
	    public const string PATH_SERVICE_PROVIDER         = "serviceProvider";
	    public const string PATH_SERVICE_PROVIDER_CATALOG = "serviceProviderCatalog";
    }
}
